{{!
  Copyright (c) HashiCorp, Inc.
  SPDX-License-Identifier: BUSL-1.1
~}}

{{#if @configured}}
  <div class="box is-fullwidth is-sideless is-marginless">
    <div class="field">
      <label for="publicKey" class="is-label">
        Public key
      </label>
      <div class="control">
        <MaskedInput
          @name="publickey"
          @id="publicKey"
          @value={{@model.publicKey}}
          @displayOnly={{true}}
          @allowCopy={{true}}
          data-test-ssh-input="public-key"
        />
      </div>
    </div>
  </div>
  <div class="field is-grouped-split box is-fullwidth is-bottomless">
    <Hds::ButtonSet>
      <Hds::Copy::Button @text="Copy" @textToCopy={{@model.publicKey}} class="primary" />
      <ConfirmAction
        @buttonText="Delete"
        @buttonColor="secondary"
        @confirmMessage="This will remove the CA certificate information."
        @onConfirmAction={{this.delete}}
      />
    </Hds::ButtonSet>
  </div>
{{else}}
  <form {{on "submit" this.saveConfig}} data-test-ssh-configure-form="true">
    <div class="box is-fullwidth is-sideless is-marginless">
      <NamespaceReminder @mode="save" @noun="configuration" />
      <div class="field">
        <label for="privateKey" class="is-label">
          Private key
        </label>
        <div class="control">
          <MaskedInput @name="privateKey" id="privateKey" @value={{@model.privateKey}} @onChange={{mut @model.privateKey}} />
        </div>
      </div>
      <div class="field">
        <label for="publicKey" class="is-label">
          Public key
        </label>
        <div class="control">
          <Textarea name="publicKey" id="publicKey" class="input" @value={{@model.publicKey}} />
        </div>
      </div>
      <div class="b-checkbox">
        <Input
          @type="checkbox"
          id="generateSigningKey"
          class="styled"
          @checked={{@model.generateSigningKey}}
          {{on "change" (fn (mut @model.generateSigningKey) (not @model.generateSigningKey))}}
          data-test-ssh-input="generate-signing-key-checkbox"
        />
        <label for="generateSigningKey" class="is-label">
          Generate signing key
          <InfoTooltip>
            Specifies if Vault should generate the signing key pair internally
          </InfoTooltip>
        </label>
      </div>
    </div>
    <div class="field box is-fullwidth is-bottomless is-marginless">
      <div class="control">
        <Hds::Button
          @text="Save"
          @icon={{if @loading "loading"}}
          type="submit"
          disabled={{@loading}}
          data-test-ssh-input="configure-submit"
        />
      </div>
    </div>
  </form>
{{/if}}